home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 008a / paragen2.zip / VLIB.CPP < prev    next >
C/C++ Source or Header  |  1991-03-28  |  26KB  |  885 lines

  1. /*----------------------------------------------------------------
  2.             VLIB.C Generated by PARAGen version 2.20          
  3. ------------------------------------------------------------------
  4.   PROJECT         : VIDLIB Demo
  5.   AUTHOR          : Innovative Data Solutions, Inc.
  6.   DATE            : 03/14/1991
  7.   TIME            : 07:45PM
  8.   CODING STYLE    : 2  - [Standard C]
  9.   TAB EXPANSION   : ON
  10.   TABLE           : VLIB.DB - [Fields: 15, Key Fields: 2]
  11.   DATABASE FIELDS          PARADOX                   PARAGEN
  12.                            -------                   -------
  13.                     (01) - Category                  Category                  
  14.                     (02) - Title                     Title                     
  15.                     (03) - Rating                    Rating                    
  16.                     (04) - Director                  Director                  
  17.                     (05) - Stars                     Stars                     
  18.                     (06) - Cast                      Cast                      
  19.                     (07) - Company                   Company                   
  20.                     (08) - Date                      Date                      
  21.                     (09) - Price                     Price                     
  22.                     (10) - Tape                      Tape                      
  23.                     (11) - RunTime                   RunTime                   
  24.                     (12) - Format                    Format                    
  25.                     (13) - Start                     Start                     
  26.                     (14) - Stop                      Stop                      
  27.                     (15) - RunSpeed                  RunSpeed                  
  28.   GENERATED BY    : Innovative Data Solutions, Inc. Paradox Code Generator
  29.                     4318 Stewart Court
  30.                     East Chicago, IN 46312
  31.                     (219)-397-8952
  32. -----------------------------------------------------------------*/
  33.  
  34. /*----------------------------------------------------------------
  35.                         Global Defines                            
  36. ------------------------------------------------------------------
  37.   BUFFERED - is used in the PXTblOpen call to establish whether 
  38.              writes should be buffered or not (SEE engine manual)
  39.              (TRUE)  - save records to disk as they are posted
  40.              (FALSE) - buffer above records for speed purposes
  41.   GLOBAL   - Global define used to declare global variables.  If it
  42.              is defined variables are declared, otherwise they are
  43.              external so you can reference them in another module
  44. -----------------------------------------------------------------*/
  45.  
  46. #define BUFFERED FALSE
  47. #define GLOBAL 1
  48.  
  49. /*----------------------------------------------------------------
  50.                            Include Files                          
  51. -----------------------------------------------------------------*/
  52.  
  53. #include "vlib.h"
  54. #include "pxengine.h"
  55.  
  56. /*----------------------------------------------------------------
  57.                            Code Starts                            
  58. -----------------------------------------------------------------*/
  59.  
  60. int VLIBError(int ErrCode)
  61. {
  62.     if (ErrCode)        
  63.         return(ErrCode);
  64.     return(PXSUCCESS);
  65. }
  66.  
  67. int VLIBTblOpen(char *Password)
  68. {
  69.     if (Password)
  70.         {
  71.         VLIBRet = PXPswAdd(Password);
  72.         if (VLIBRet)            
  73.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  74.                 return(VLIBRet);
  75.         }
  76.     VLIBRet = PXTblOpen("VLIB",&VLIBTable,0,BUFFERED);
  77.     if (VLIBRet)        
  78.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  79.             return(VLIBRet);
  80.     VLIBRet = PXRecBufOpen(VLIBTable,&VLIBRecord);
  81.     if (VLIBRet)        
  82.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  83.             return(VLIBRet);
  84.     VLIBRet = PXFldHandle(VLIBTable,"Category",&VLIBCategory);
  85.     if (VLIBRet)        
  86.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  87.             return(VLIBRet);
  88.     VLIBRet = PXFldHandle(VLIBTable,"Title",&VLIBTitle);
  89.     if (VLIBRet)        
  90.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  91.             return(VLIBRet);
  92.     VLIBRet = PXFldHandle(VLIBTable,"Rating",&VLIBRating);
  93.     if (VLIBRet)        
  94.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  95.             return(VLIBRet);
  96.     VLIBRet = PXFldHandle(VLIBTable,"Director",&VLIBDirector);
  97.     if (VLIBRet)        
  98.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  99.             return(VLIBRet);
  100.     VLIBRet = PXFldHandle(VLIBTable,"Stars",&VLIBStars);
  101.     if (VLIBRet)        
  102.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  103.             return(VLIBRet);
  104.     VLIBRet = PXFldHandle(VLIBTable,"Cast",&VLIBCast);
  105.     if (VLIBRet)        
  106.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  107.             return(VLIBRet);
  108.     VLIBRet = PXFldHandle(VLIBTable,"Company",&VLIBCompany);
  109.     if (VLIBRet)        
  110.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  111.             return(VLIBRet);
  112.     VLIBRet = PXFldHandle(VLIBTable,"Date",&VLIBDate);
  113.     if (VLIBRet)        
  114.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  115.             return(VLIBRet);
  116.     VLIBRet = PXFldHandle(VLIBTable,"Price",&VLIBPrice);
  117.     if (VLIBRet)        
  118.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  119.             return(VLIBRet);
  120.     VLIBRet = PXFldHandle(VLIBTable,"Tape",&VLIBTape);
  121.     if (VLIBRet)        
  122.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  123.             return(VLIBRet);
  124.     VLIBRet = PXFldHandle(VLIBTable,"RunTime",&VLIBRunTime);
  125.     if (VLIBRet)        
  126.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  127.             return(VLIBRet);
  128.     VLIBRet = PXFldHandle(VLIBTable,"Format",&VLIBFormat);
  129.     if (VLIBRet)        
  130.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  131.             return(VLIBRet);
  132.     VLIBRet = PXFldHandle(VLIBTable,"Start",&VLIBStart);
  133.     if (VLIBRet)        
  134.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  135.             return(VLIBRet);
  136.     VLIBRet = PXFldHandle(VLIBTable,"Stop",&VLIBStop);
  137.     if (VLIBRet)        
  138.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  139.             return(VLIBRet);
  140.     VLIBRet = PXFldHandle(VLIBTable,"RunSpeed",&VLIBRunSpeed);
  141.     if (VLIBRet)        
  142.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  143.             return(VLIBRet);
  144.     return(PXSUCCESS);
  145. }
  146.  
  147. int VLIBTblClose(void)
  148. {
  149.     VLIBRet = PXTblClose(VLIBTable);
  150.     if (VLIBRet)        
  151.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  152.             return(VLIBRet);
  153.     return(PXSUCCESS);
  154. }
  155.  
  156. int VLIBTblCreate(int TableSize)
  157. {
  158.     static char *VLIBFields[] =
  159.         {
  160.         "Category",
  161.         "Title",
  162.         "Rating",
  163.         "Director",
  164.         "Stars",
  165.         "Cast",
  166.         "Company",
  167.         "Date",
  168.         "Price",
  169.         "Tape",
  170.         "RunTime",
  171.         "Format",
  172.         "Start",
  173.         "Stop",
  174.         "RunSpeed",
  175.         };
  176.  
  177.     static char *VLIBTypes[] =
  178.         {
  179.         "A10",
  180.         "A40",
  181.         "A5",
  182.         "A15",
  183.         "A55",
  184.         "A30",
  185.         "A15",
  186.         "D",
  187.         "$",
  188.         "S",
  189.         "N",
  190.         "A8",
  191.         "S",
  192.         "S",
  193.         "A10",
  194.         };
  195.  
  196.     static FIELDHANDLE VLIBFieldHandles[] =
  197.         {
  198.         1,
  199.         2,
  200.         };
  201.  
  202.     if (!TableSize)
  203.         {
  204.         VLIBRet = PXTblMaxSize(TableSize);
  205.         if (VLIBRet)            
  206.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  207.                 return(VLIBRet);
  208.         }
  209.     VLIBRet = PXTblCreate("VLIB",15,VLIBFields,VLIBTypes);
  210.     if (VLIBRet)        
  211.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  212.             return(VLIBRet);
  213.     VLIBRet = PXKeyAdd("VLIB",2,VLIBFieldHandles,PRIMARY);
  214.     if (VLIBRet)        
  215.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  216.             return(VLIBRet);
  217.     return(PXSUCCESS);
  218. }
  219.  
  220. int VLIBTblEmpty(void)
  221. {
  222.     VLIBRet = PXTblEmpty("VLIB");
  223.     if (VLIBRet)        
  224.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  225.             return(VLIBRet);
  226.     return(PXSUCCESS);
  227. }
  228.  
  229. int VLIBTblDelete(void)
  230. {
  231.     VLIBRet = PXTblDelete("VLIB");
  232.     if (VLIBRet)        
  233.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  234.             return(VLIBRet);
  235.     return(PXSUCCESS);
  236. }
  237.  
  238. int VLIBTblCopy(char *FileName,int SrcOrDest)
  239. {
  240.     if (SrcOrDest == SOURCE)        
  241.         VLIBRet = PXTblCopy("VLIB",FileName);
  242.     else        
  243.         VLIBRet = PXTblCopy(FileName,"VLIB");
  244.     if (VLIBRet)        
  245.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  246.             return(VLIBRet);
  247.     return(PXSUCCESS);
  248. }
  249.  
  250. int VLIBTblRename(char *DestTable)
  251. {
  252.     VLIBRet = PXTblRename("VLIB",DestTable);
  253.     if (VLIBRet)        
  254.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  255.             return(VLIBRet);
  256.     return(PXSUCCESS);
  257. }
  258.  
  259. int VLIBTblAdd(char *FileName,int SrcOrDest)
  260. {
  261.     if (SrcOrDest == SOURCE)        
  262.         VLIBRet = PXTblAdd("VLIB",FileName);
  263.     else        
  264.         VLIBRet = PXTblAdd(FileName,"VLIB");
  265.     if (VLIBRet)        
  266.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  267.             return(VLIBRet);
  268.     return(PXSUCCESS);
  269. }
  270.  
  271. int VLIBTblEncrypt(char *Password)
  272. {
  273.     VLIBRet = PXTblEncrypt("VLIB",Password);
  274.     if (VLIBRet)        
  275.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  276.             return(VLIBRet);
  277.     return(PXSUCCESS);
  278. }
  279.  
  280. int VLIBTblDecrypt(char *Password)
  281. {
  282.     VLIBRet = PXPswAdd(Password);
  283.     if (VLIBRet)        
  284.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  285.             return(VLIBRet);
  286.     VLIBRet = PXTblDecrypt("VLIB");
  287.     if (VLIBRet)        
  288.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  289.             return(VLIBRet);
  290.     return(PXSUCCESS);
  291. }
  292.  
  293. int VLIBTblExist(int *Exists)
  294. {
  295.     VLIBRet = PXTblExist("VLIB",Exists);
  296.     if (VLIBRet)        
  297.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  298.             return(VLIBRet);
  299.     return(PXSUCCESS);
  300. }
  301.  
  302. int VLIBTblProtected(int *IsProtected)
  303. {
  304.     VLIBRet = PXTblProtected("VLIB",IsProtected);
  305.     if (VLIBRet)        
  306.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  307.             return(VLIBRet);
  308.     return(PXSUCCESS);
  309. }
  310.  
  311. int VLIBTblNRecs(RECORDNUMBER *NumRecords)
  312. {
  313.     VLIBRet = PXTblNRecs(VLIBTable,NumRecords);
  314.     if (VLIBRet)        
  315.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  316.             return(VLIBRet);
  317.     return(PXSUCCESS);
  318. }
  319.  
  320. int VLIBRecNum(RECORDNUMBER *NumRecords)
  321. {
  322.     VLIBRet = PXRecNum(VLIBTable,NumRecords);
  323.     if (VLIBRet)        
  324.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  325.             return(VLIBRet);
  326.     return(PXSUCCESS);
  327. }
  328.  
  329. int VLIBSrchKey(int SearchMode,int NumKeysToSearch,VLIBTABLEENTRY *RecordVal)
  330. {
  331.     VLIBRet = PXRecBufEmpty(VLIBRecord);
  332.     if (VLIBRet)        
  333.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  334.             return(VLIBRet);
  335.     switch (NumKeysToSearch)
  336.         {
  337.         case 2:            
  338.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBTitle,RecordVal->Title);
  339.             if (VLIBRet)                
  340.                 if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                     
  341.                     return(VLIBRet);
  342.         case 1:            
  343.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBCategory,RecordVal->Category);
  344.             if (VLIBRet)                
  345.                 if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                     
  346.                     return(VLIBRet);
  347.         }
  348.     VLIBRet = PXSrchKey(VLIBTable,VLIBRecord,NumKeysToSearch,SearchMode);
  349.     if (VLIBRet)        
  350.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  351.             return(VLIBRet);
  352.     VLIBRet = PXRecGet(VLIBTable,VLIBRecord);
  353.     if (VLIBRet)        
  354.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  355.             return(VLIBRet);
  356.     VLIBRet = VLIBPopulateRecord(RecordVal,GET);
  357.     if (VLIBRet)        
  358.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  359.             return(VLIBRet);
  360.     return(PXSUCCESS);
  361. }
  362.  
  363. int VLIBSrchFld(int SearchMode,char *FieldToSearch,VLIBTABLEENTRY *RecordVal)
  364. {
  365.     FIELDHANDLE FldHandle;
  366.     long ParaDate;
  367.  
  368.     VLIBRet = PXFldHandle(VLIBTable,FieldToSearch,&FldHandle);
  369.     if (VLIBRet)        
  370.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  371.             return(VLIBRet);
  372.     VLIBRet = PXRecBufEmpty(VLIBRecord);
  373.     if (VLIBRet)        
  374.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  375.             return(VLIBRet);
  376.     switch (FldHandle)
  377.         {
  378.         case 1:            
  379.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBCategory,RecordVal->Category);
  380.             break;
  381.  
  382.         case 2:            
  383.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBTitle,RecordVal->Title);
  384.             break;
  385.  
  386.         case 3:            
  387.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBRating,RecordVal->Rating);
  388.             break;
  389.  
  390.         case 4:            
  391.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBDirector,RecordVal->Director);
  392.             break;
  393.  
  394.         case 5:            
  395.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBStars,RecordVal->Stars);
  396.             break;
  397.  
  398.         case 6:            
  399.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBCast,RecordVal->Cast);
  400.             break;
  401.  
  402.         case 7:            
  403.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBCompany,RecordVal->Company);
  404.             break;
  405.  
  406.         case 8:            
  407.             VLIBRet = PXDateEncode(RecordVal->DateMonth,RecordVal->DateDay,RecordVal->DateYear,&ParaDate);
  408.             if (VLIBRet)                
  409.                 if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                     
  410.                     return(VLIBRet);
  411.             VLIBRet = PXPutDate(VLIBRecord,VLIBDate,ParaDate);
  412.             break;
  413.  
  414.         case 9:            
  415.             VLIBRet = PXPutDoub(VLIBRecord,VLIBPrice,RecordVal->Price);
  416.             break;
  417.  
  418.         case 10:            
  419.             VLIBRet = PXPutShort(VLIBRecord,VLIBTape,RecordVal->Tape);
  420.             break;
  421.  
  422.         case 11:            
  423.             VLIBRet = PXPutDoub(VLIBRecord,VLIBRunTime,RecordVal->RunTime);
  424.             break;
  425.  
  426.         case 12:            
  427.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBFormat,RecordVal->Format);
  428.             break;
  429.  
  430.         case 13:            
  431.             VLIBRet = PXPutShort(VLIBRecord,VLIBStart,RecordVal->Start);
  432.             break;
  433.  
  434.         case 14:            
  435.             VLIBRet = PXPutShort(VLIBRecord,VLIBStop,RecordVal->Stop);
  436.             break;
  437.  
  438.         case 15:            
  439.             VLIBRet = PXPutAlpha(VLIBRecord,VLIBRunSpeed,RecordVal->RunSpeed);
  440.             break;
  441.  
  442.         }
  443.     if (VLIBRet)        
  444.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  445.             return(VLIBRet);
  446.     VLIBRet = PXSrchFld(VLIBTable,VLIBRecord,FldHandle,SearchMode);
  447.     if (VLIBRet)        
  448.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  449.             return(VLIBRet);
  450.     VLIBRet = PXRecGet(VLIBTable,VLIBRecord);
  451.     if (VLIBRet)        
  452.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  453.             return(VLIBRet);
  454.     VLIBRet = VLIBPopulateRecord(RecordVal,GET);
  455.     if (VLIBRet)        
  456.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  457.             return(VLIBRet);
  458.     return(PXSUCCESS);
  459. }
  460.  
  461. int VLIBRecFirst(VLIBTABLEENTRY *RecordVal)
  462. {
  463.     VLIBRet = PXRecFirst(VLIBTable);
  464.     if (VLIBRet)        
  465.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  466.             return(VLIBRet);
  467.     VLIBRet = PXRecGet(VLIBTable,VLIBRecord);
  468.     if (VLIBRet)        
  469.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  470.             return(VLIBRet);
  471.     VLIBRet = VLIBPopulateRecord(RecordVal,GET);
  472.     if (VLIBRet)        
  473.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  474.             return(VLIBRet);
  475.     return(PXSUCCESS);
  476. }
  477.  
  478. int VLIBRecNext(VLIBTABLEENTRY *RecordVal)
  479. {
  480.     VLIBRet = PXRecNext(VLIBTable);
  481.     if (VLIBRet)        
  482.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  483.             return(VLIBRet);
  484.     VLIBRet = PXRecGet(VLIBTable,VLIBRecord);
  485.     if (VLIBRet)        
  486.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  487.             return(VLIBRet);
  488.     VLIBRet = VLIBPopulateRecord(RecordVal,GET);
  489.     if (VLIBRet)        
  490.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  491.             return(VLIBRet);
  492.     return(PXSUCCESS);
  493. }
  494.  
  495. int VLIBRecPrev(VLIBTABLEENTRY *RecordVal)
  496. {
  497.     VLIBRet = PXRecPrev(VLIBTable);
  498.     if (VLIBRet)        
  499.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  500.             return(VLIBRet);
  501.     VLIBRet = PXRecGet(VLIBTable,VLIBRecord);
  502.     if (VLIBRet)        
  503.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  504.             return(VLIBRet);
  505.     VLIBRet = VLIBPopulateRecord(RecordVal,GET);
  506.     if (VLIBRet)        
  507.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  508.             return(VLIBRet);
  509.     return(PXSUCCESS);
  510. }
  511.  
  512. int VLIBRecLast(VLIBTABLEENTRY *RecordVal)
  513. {
  514.     VLIBRet = PXRecLast(VLIBTable);
  515.     if (VLIBRet)        
  516.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  517.             return(VLIBRet);
  518.     VLIBRet = PXRecGet(VLIBTable,VLIBRecord);
  519.     if (VLIBRet)        
  520.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  521.             return(VLIBRet);
  522.     VLIBRet = VLIBPopulateRecord(RecordVal,GET);
  523.     if (VLIBRet)        
  524.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  525.             return(VLIBRet);
  526.     return(PXSUCCESS);
  527. }
  528.  
  529. int VLIBRecAppend(VLIBTABLEENTRY *RecordVal)
  530. {
  531.     VLIBRet = PXRecBufEmpty(VLIBRecord);
  532.     if (VLIBRet)        
  533.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  534.             return(VLIBRet);
  535.     VLIBRet = VLIBPopulateRecord(RecordVal,PUT);
  536.     if (VLIBRet)        
  537.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  538.             return(VLIBRet);
  539.     VLIBRet = PXRecAppend(VLIBTable,VLIBRecord);
  540.     if (VLIBRet)        
  541.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  542.             return(VLIBRet);
  543.     return(PXSUCCESS);
  544. }
  545.  
  546. int VLIBRecInsert(VLIBTABLEENTRY *RecordVal)
  547. {
  548.     VLIBRet = PXRecBufEmpty(VLIBRecord);
  549.     if (VLIBRet)        
  550.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  551.             return(VLIBRet);
  552.     VLIBRet = VLIBPopulateRecord(RecordVal,PUT);
  553.     if (VLIBRet)        
  554.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  555.             return(VLIBRet);
  556.     VLIBRet = PXRecInsert(VLIBTable,VLIBRecord);
  557.     if (VLIBRet)        
  558.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  559.             return(VLIBRet);
  560.     return(PXSUCCESS);
  561. }
  562.  
  563. int VLIBRecDelete(void)
  564.  
  565. {
  566.     VLIBRet = PXRecDelete(VLIBTable);
  567.     if (VLIBRet)        
  568.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  569.             return(VLIBRet);
  570.     return(PXSUCCESS);
  571. }
  572.  
  573. int VLIBRecUpdate(VLIBTABLEENTRY *RecordVal)
  574. {
  575.     VLIBRet = PXRecBufEmpty(VLIBRecord);
  576.     if (VLIBRet)        
  577.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  578.             return(VLIBRet);
  579.     VLIBRet = VLIBPopulateRecord(RecordVal,PUT);
  580.     if (VLIBRet)        
  581.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  582.             return(VLIBRet);
  583.     VLIBRet = PXRecUpdate(VLIBTable,VLIBRecord);
  584.     if (VLIBRet)        
  585.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  586.             return(VLIBRet);
  587.     return(PXSUCCESS);
  588. }
  589.  
  590. int VLIBRecGoto(RECORDNUMBER RecordNumber)
  591. {
  592.     VLIBRet = PXRecGoto(VLIBTable,RecordNumber);
  593.     if (VLIBRet)        
  594.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  595.             return(VLIBRet);
  596.     return(PXSUCCESS);
  597. }
  598.  
  599. int VLIBRecGet(VLIBTABLEENTRY *RecordVal)
  600. {
  601.     VLIBRet = PXRecBufEmpty(VLIBRecord);
  602.     if (VLIBRet)        
  603.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  604.             return(VLIBRet);
  605.     VLIBRet = PXRecGet(VLIBTable,VLIBRecord);
  606.     if (VLIBRet)        
  607.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  608.             return(VLIBRet);
  609.     VLIBRet = VLIBPopulateRecord(RecordVal,GET);
  610.     if (VLIBRet)        
  611.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  612.             return(VLIBRet);
  613.     return(PXSUCCESS);
  614. }
  615.  
  616. int VLIBFldType(FIELDHANDLE fldHandle,char *FldType)
  617. {
  618.     int BufSize = 6;
  619.  
  620.     VLIBRet = PXFldType(VLIBTable,fldHandle,BufSize,FldType);
  621.     if (VLIBRet)        
  622.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  623.             return(VLIBRet);
  624.     return(PXSUCCESS);
  625. }
  626.  
  627. int VLIBFldBlank(FIELDHANDLE fldHandle,int *IsBlank)
  628. {
  629.     VLIBRet = PXFldBlank(VLIBRecord,fldHandle,IsBlank);
  630.     if (VLIBRet)        
  631.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  632.             return(VLIBRet);
  633.     return(PXSUCCESS);
  634. }
  635.  
  636. int VLIBRecNFlds(int *NumFields)
  637. {
  638.     VLIBRet = PXRecNFlds(VLIBTable,NumFields);
  639.     if (VLIBRet)        
  640.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  641.             return(VLIBRet);
  642.     return(PXSUCCESS);
  643. }
  644.  
  645. int VLIBKeyNFlds(int *NumKeyFields)
  646. {
  647.     VLIBRet = PXKeyNFlds(VLIBTable,NumKeyFields);
  648.     if (VLIBRet)        
  649.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  650.             return(VLIBRet);
  651.     return(PXSUCCESS);
  652. }
  653.  
  654. int VLIBNetRecLocked(int *IsLocked)
  655. {
  656.     VLIBRet = PXNetRecLocked(VLIBTable,IsLocked);
  657.     if (VLIBRet)        
  658.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  659.             return(VLIBRet);
  660.     return(PXSUCCESS);
  661. }
  662.  
  663. int VLIBNetTblChanged(int *IsChanged)
  664. {
  665.     VLIBRet = PXNetTblChanged(VLIBTable,IsChanged);
  666.     if (VLIBRet)        
  667.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  668.             return(VLIBRet);
  669.     return(PXSUCCESS);
  670. }
  671.  
  672. int VLIBNetTblRefresh(void)
  673. {
  674.     VLIBRet = PXNetTblRefresh(VLIBTable);
  675.     if (VLIBRet)        
  676.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  677.             return(VLIBRet);
  678.     return(PXSUCCESS);
  679. }
  680.  
  681. int VLIBNetTblUnlock(int LockType)
  682. {
  683.     VLIBRet = PXNetTblUnlock(VLIBTable,LockType);
  684.     if (VLIBRet)        
  685.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  686.             return(VLIBRet);
  687.     return(PXSUCCESS);
  688. }
  689.  
  690. int VLIBNetTblLock(int LockType)
  691. {
  692.     VLIBRet = PXNetTblLock(VLIBTable,LockType);
  693.     if (VLIBRet)        
  694.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  695.             return(VLIBRet);
  696.     return(PXSUCCESS);
  697. }
  698.  
  699. int VLIBNetRecUnlock(LOCKHANDLE LckHandle)
  700. {
  701.     VLIBRet = PXNetRecUnlock(VLIBTable,LckHandle);
  702.     if (VLIBRet)        
  703.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  704.             return(VLIBRet);
  705.     return(PXSUCCESS);
  706. }
  707.  
  708. int VLIBNetRecLock(LOCKHANDLE *LckHandle)
  709. {
  710.     VLIBRet = PXNetRecLock(VLIBTable,LckHandle);
  711.     if (VLIBRet)        
  712.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  713.             return(VLIBRet);
  714.     return(PXSUCCESS);
  715. }
  716.  
  717. int VLIBNetRecGotoLock(LOCKHANDLE LckHandle)
  718. {
  719.     VLIBRet = PXNetRecGotoLock(VLIBTable,LckHandle);
  720.     if (VLIBRet)        
  721.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  722.             return(VLIBRet);
  723.     return(PXSUCCESS);
  724. }
  725.  
  726. int VLIBNetFileUnlock(int LockType)
  727. {
  728.     VLIBRet = PXNetFileUnlock("VLIB.db",LockType);
  729.     if (VLIBRet)        
  730.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  731.             return(VLIBRet);
  732.     return(PXSUCCESS);
  733. }
  734.  
  735. int VLIBNetFileLock(int LockType)
  736. {
  737.     VLIBRet = PXNetFileLock("VLIB.db",LockType);
  738.     if (VLIBRet)        
  739.         if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)             
  740.             return(VLIBRet);
  741.     return(PXSUCCESS);
  742. }
  743.  
  744. int VLIBPopulateRecord(VLIBTABLEENTRY *RecordVal,int GetOrPut)
  745. {
  746.     long ParaDate;
  747.  
  748.     if (GetOrPut)
  749.         {
  750.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBCategory,RecordVal->Category);
  751.         if (VLIBRet)            
  752.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  753.                 return(VLIBRet);
  754.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBTitle,RecordVal->Title);
  755.         if (VLIBRet)            
  756.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  757.                 return(VLIBRet);
  758.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBRating,RecordVal->Rating);
  759.         if (VLIBRet)            
  760.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  761.                 return(VLIBRet);
  762.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBDirector,RecordVal->Director);
  763.         if (VLIBRet)            
  764.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  765.                 return(VLIBRet);
  766.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBStars,RecordVal->Stars);
  767.         if (VLIBRet)            
  768.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  769.                 return(VLIBRet);
  770.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBCast,RecordVal->Cast);
  771.         if (VLIBRet)            
  772.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  773.                 return(VLIBRet);
  774.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBCompany,RecordVal->Company);
  775.         if (VLIBRet)            
  776.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  777.                 return(VLIBRet);
  778.         VLIBRet = PXDateEncode(RecordVal->DateMonth,RecordVal->DateDay,RecordVal->DateYear,&ParaDate);
  779.         if (VLIBRet)            
  780.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  781.                 return(VLIBRet);
  782.         VLIBRet = PXPutDate(VLIBRecord,VLIBDate,ParaDate);
  783.         if (VLIBRet)            
  784.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  785.                 return(VLIBRet);
  786.         VLIBRet = PXPutDoub(VLIBRecord,VLIBPrice,RecordVal->Price);
  787.         if (VLIBRet)            
  788.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  789.                 return(VLIBRet);
  790.         VLIBRet = PXPutShort(VLIBRecord,VLIBTape,RecordVal->Tape);
  791.         if (VLIBRet)            
  792.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  793.                 return(VLIBRet);
  794.         VLIBRet = PXPutDoub(VLIBRecord,VLIBRunTime,RecordVal->RunTime);
  795.         if (VLIBRet)            
  796.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  797.                 return(VLIBRet);
  798.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBFormat,RecordVal->Format);
  799.         if (VLIBRet)            
  800.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  801.                 return(VLIBRet);
  802.         VLIBRet = PXPutShort(VLIBRecord,VLIBStart,RecordVal->Start);
  803.         if (VLIBRet)            
  804.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  805.                 return(VLIBRet);
  806.         VLIBRet = PXPutShort(VLIBRecord,VLIBStop,RecordVal->Stop);
  807.         if (VLIBRet)            
  808.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  809.                 return(VLIBRet);
  810.         VLIBRet = PXPutAlpha(VLIBRecord,VLIBRunSpeed,RecordVal->RunSpeed);
  811.         if (VLIBRet)            
  812.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  813.                 return(VLIBRet);
  814.         }
  815.     else
  816.         {
  817.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBCategory,FSZCATEGORY+1,RecordVal->Category);
  818.         if (VLIBRet)            
  819.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  820.                 return(VLIBRet);
  821.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBTitle,FSZTITLE+1,RecordVal->Title);
  822.         if (VLIBRet)            
  823.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  824.                 return(VLIBRet);
  825.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBRating,FSZRATING+1,RecordVal->Rating);
  826.         if (VLIBRet)            
  827.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  828.                 return(VLIBRet);
  829.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBDirector,FSZDIRECTOR+1,RecordVal->Director);
  830.         if (VLIBRet)            
  831.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  832.                 return(VLIBRet);
  833.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBStars,FSZSTARS+1,RecordVal->Stars);
  834.         if (VLIBRet)            
  835.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  836.                 return(VLIBRet);
  837.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBCast,FSZCAST+1,RecordVal->Cast);
  838.         if (VLIBRet)            
  839.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  840.                 return(VLIBRet);
  841.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBCompany,FSZCOMPANY+1,RecordVal->Company);
  842.         if (VLIBRet)            
  843.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  844.                 return(VLIBRet);
  845.         VLIBRet = PXGetDate(VLIBRecord,VLIBDate,&ParaDate);
  846.         if (VLIBRet)            
  847.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  848.                 return(VLIBRet);
  849.         VLIBRet = PXDateDecode(ParaDate,&RecordVal->DateMonth,&RecordVal->DateDay,&RecordVal->DateYear);
  850.         if (VLIBRet)            
  851.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  852.                 return(VLIBRet);
  853.         VLIBRet = PXGetDoub(VLIBRecord,VLIBPrice,&RecordVal->Price);
  854.         if (VLIBRet)            
  855.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  856.                 return(VLIBRet);
  857.         VLIBRet = PXGetShort(VLIBRecord,VLIBTape,&RecordVal->Tape);
  858.         if (VLIBRet)            
  859.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  860.                 return(VLIBRet);
  861.         VLIBRet = PXGetDoub(VLIBRecord,VLIBRunTime,&RecordVal->RunTime);
  862.         if (VLIBRet)            
  863.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  864.                 return(VLIBRet);
  865.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBFormat,FSZFORMAT+1,RecordVal->Format);
  866.         if (VLIBRet)            
  867.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  868.                 return(VLIBRet);
  869.         VLIBRet = PXGetShort(VLIBRecord,VLIBStart,&RecordVal->Start);
  870.         if (VLIBRet)            
  871.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  872.                 return(VLIBRet);
  873.         VLIBRet = PXGetShort(VLIBRecord,VLIBStop,&RecordVal->Stop);
  874.         if (VLIBRet)            
  875.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  876.                 return(VLIBRet);
  877.         VLIBRet = PXGetAlpha(VLIBRecord,VLIBRunSpeed,FSZRUNSPEED+1,RecordVal->RunSpeed);
  878.         if (VLIBRet)            
  879.             if ((VLIBRet = VLIBError(VLIBRet)) != PXSUCCESS)                 
  880.                 return(VLIBRet);
  881.         }
  882.     return(PXSUCCESS);
  883. }
  884.  
  885.